Integrated circuits (ICs) are ubiquitous electronic devices that operate in almost all imaginable settings and environments. A large family of integrated circuits, namely programmable integrated circuits, require user customisation in order to perform the required function and to serve its intended purpose. Practically all programmable ICs require programming or configuring in order to enable the user customisation.
Conventional means of programming or configuring ICs rely on a physical and potentially invasive electrical connection, and usually multiple electric connections, to the programmable device, which:                needs to be considered when implementing the device both on an IC and printed circuit board level;        requires additional lead-out pins on the IC package; and requires direct access to the electrical interface from the printed circuit board.        
It would be advantageous to program ICs without requiring a physical connection in order to enhance flexibility and configurability of systems incorporating programmable ICs.
The hardware associated with establishing the programming functionality (e.g., cables, connectors, bondwires) contribute to the overall cost of manufacturing and implementing of these programmable integrated circuits. Additionally, these physical connections also add to the maintenance and debugging complexities, further increasing the implementation cost of programmable devices.
FIG. 1 illustrates a typical tool chain 10 required for configuring and/or programming ICs 16. The term “programming” of an integrated circuit usually means to send data to an IC in order to configure the IC to act in a specified way or perform a specified function, depending on the programming data communicated to the IC. The term can also apply to batch and wafer scale configuration of ICs which may take place before dicing the individual ICs. Programming often relies on bidirectional communication between a host (sometimes called the information source), that is, the device that communicates the source configuration data to the IC, and the IC itself.
In order to establish interaction between the host and the target IC, an intermediate “programming tool/programmer/debugger” 14 is required to translate user instructions and program code from a host or information source 12 into an electrical representation understandable by the target device 16 e.g. an electronic data bit stream. Interaction is, however, not limited to programming but can include communicating the current state of the IC, communicating additional operational and functional inputs and outputs to and from the IC and stream information between the host device and the IC. The communicable bit stream can as a result be comprised of any of the following: configuration data, programming data, debugging commands, device information, current state of the IC and any combinations thereof. The host 12 is connected to the programming tool 14 by means of a wired or wireless comm. link 12a. 
Various programmable IC vendors have addressed in-circuit programming and debugging, although all systems, with the exception of radiofrequency ICs, still require a physical electrical connection 14a to the programmable IC for enabling this feature. Very specialised methods and standards exist to enhance or improve the usability of this approach, i.e. JTAG standard and Microchip's proprietary in-circuit serial programming (ICSP) technique. These specialised methods include multiple device programming, configuration, debugging, low voltage operability and flexibility on-chip. To allow multiple device programming, configuration and debugging, the devices are electrically daisy chained, or connected in a star topology, according to the specified standard with a distinct point of entry, typically still a physical electrical interface. Furthermore, further reuse of electrical pins beyond their reserved programming and debugging functions might involve the use of additional circuits consuming valuable space on printed circuit boards.
The Applicant desires a non-invasive mechanism, through which interaction with an integrated circuit can be effected, allowing for in situ updates, erasing, programming and reprogramming, debugging and other functions to be carried out without the need to electrically connect to the programmable device is therefore advantageous when compared to the invasive electrical method of interaction. Such an approach negates the need for physical removal of an IC from its participation in an electronic system and allows interaction with an IC without the need for disrupting its function unnecessarily.